LW2000

 

Nombre:                DLL Show

Versión:                4.x

Editor:                  Software By Design

Víctima:                DLLSHOW.EXE

Herramientas:       SoftICE

                            Cerebro

Cracker:                LW2000

Tutorial:                número 55

URL:                      http://www.execpc.com/~sbd

 

Renuncia: Este tutorial tiene una finalidad únicamente educativa. No asumo ninguna responsabilidad por el mal uso de éste material.

 

1.     Bien, hacemos click en ‘Help’ y vamos al diálogo de registro. Introducimos los siguientes detalles: ‘LW2000 [CiA]’ como User Name, como Organization no es necesario introducir nada y ‘1230099’ como Registration.

2.     Nos cambiamos a SoftICE y ponemos un breakpoint en ‘getDlgItemTextA’ con “BPX GETDLGITEMTEXTA”

3.     Ahora pulsamos F5 para retornar a la aplicación. Bien, vamos a probar … Pulsamos el botón ‘Ok’. ¡¡¡Boooom!!! SoftICE aparece. Recuerde: tenemos tres campos y nuestro Serial es el último. Esto quiere decir que tenemos que pulsar F5 dos veces … Bien, SoftICE hace break en el último campo. Ahora pulsamos F11 para llegar a la instrucción que realizó la llamada. Ahora seguimos traceando con F10 y vamos echando un vistazo a los registro:

 

0177:0040D5B2 E8B9810000    call 00415770

0177:0040D5B7 8D4C2440      lea ecx, dword ptr [esp+40]

0177:0040D5BB 51            push ecx

0177:0040D5BC E8559C0000    call 00417216

0177:0040D5C1 56            push esi

0177:0040D5C2 8BD8          mov ebx, eax

0177:0040D5C4 E837810000    call 00415700

0177:0040D5C9 83C438        add esp, 00000038

0177:0040D5CC 3D92A71901    cmp eax, 0119A792

0177:0040D5D1 7518          jne 0040D5EB

 

* Reference To: KERNEL32.lstrcpyA, Ord:0302h

|

0177:0040D5D3 8B1D28F14100 mov ebx, dword ptr [0041F128]

 

* Possible StringData Ref from Data Obj ->"Gregory Braun"

|

0177:0040D5D9 68D42E4200    push 00422ED4

0177:0040D5DE 56            push esi

0177:0040D5DF FFD3          call ebx

 

* Possible StringData Ref from Data Obj ->"Software Design"

|

0177:0040D5E1 68C42E4200    push 00422EC4

0177:0040D5E6 57            push edi

0177:0040D5E7 FFD3          call ebx

0177:0040D5E9 EB07          jmp 0040D5F2

 

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

0177:0040D5D1(C)

|

0177:0040D5EB 3D3CCE5F0D    cmp eax, 0D5FCE3C

0177:0040D5F0 750C          jne 0040D5FE

 

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

0177:0040D5E9(U)

|

0177:0040D5F2 57            push edi

0177:0040D5F3 56            push esi

0177:0040D5F4 E8A77B0000    call 004151A0

0177:0040D5F9 83C408        add esp, 00000008

0177:0040D5FC 8BD8          mov ebx, eax

 

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

0177:0040D5F0(C)

|

0177:0040D5FE 57            push edi

0177:0040D5FF 56            push esi

0177:0040D600 E89B7B0000    call 004151A0      >Rutina de

>comprobación

0177:0040D605 83C408        add esp, 00000008

0177:0040D608 3BD8          cmp ebx, eax             >Compara el

>Serial falso y

>el correcto

0177:0040D60A 5F            pop edi

0177:0040D60B 741D          je 0040D62A              >¡Bad Boy!

 

4.     Dentro del ‘CALL’ de la dirección ‘0040D600’ se genera el Serial Number correcto y se guarda en el registro EAX. Nuestro Serial Number falso ‘1230099’ está guardado en el registro EBX. Traceamos hasta ‘0040D60A’ y en la ventana Command de SoftICE escribimos “? EBX” con lo cual veremos nuestro Serial Number falso, y escribimos “? EAX” lo que nos mostrará el Serial Number correcto. Lo anotamos y lo probamos.

 

¡Enhorabuena! ¡Ya es usted un usuario registrado!

 

¡Se acabó! Fácil, ¿no? ¿Algún comentario? Envíeme un email a LW2000@gmx.net. o vaya a http://www.LW2000.cjb.net

 

Gracia a tKC por sus tutoriales. Empecé leyendo su primer tutorial y todavía sigo leyéndolos.

 

Traducción de: MeGaBiTe